home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-03-23 | 21.8 KB | 680 lines | [TEXT/MPS ] |
- ;
- ; File: CMICCProfile.a
- ;
- ; Contains: Definitions for ColorSync 2.0 profile
- ;
- ; Version: Technology: ColorSync 2.0
- ; Release: 2.0f3
- ;
- ; Copyright: © 1984-1994 by Apple Computer, Inc.
- ; All rights reserved.
- ;
- ; Bugs?: If you find a problem with this file, send the file and version
- ; information (from above) and the problem description to:
- ;
- ; Internet: apple.bugs@applelink.apple.com
- ; AppleLink: APPLE.BUGS
- ;
- ;
-
- IF &TYPE('__CMICCPROFILE__') = 'UNDEFINED' THEN
- __CMICCPROFILE__ SET 1
-
-
- IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
- include 'Types.a'
- ENDIF
- ; include 'ConditionalMacros.a' ;
-
- cmCS2ProfileVersion EQU $02000000
-
- ; Current Major version number
- cmCurrentProfileMajorVersion EQU $02000000
-
- ; magic cookie number for anonymous file ID
- cmMagicNumber EQU 'acsp'
-
- ; ColorSync profile version 1.0
- cmCS1ProfileVersion EQU $00000100
-
- ;**********************************************************************
- ;************** ColorSync 2.0 profile specification *******************
- ;**********************************************************************
- ; profile flags element values
- cmEmbeddedProfile EQU 0 ; 0 is not embedded profile, 1 is embedded profile
- cmEmbeddedUse EQU 1 ; 0 is to use anywhere, 1 is to use as embedded profile only
-
- ; data type element values
- cmAsciiData EQU 0
- cmBinaryData EQU 1
-
- ; rendering intent element values
- cmPerceptual EQU 0 ; Photographic images
- cmRelativeColorimetric EQU 1 ; Logo Colors
- cmSaturation EQU 2 ; Business graphics
- cmAbsoluteColorimetric EQU 3 ; Logo Colors
-
- ; speed and quality flag options
- cmNormalMode EQU 0 ; it uses the least significent two bits in the high word of flag
- cmDraftMode EQU 1 ; it should be evaulated like this: right shift 16 bits first, mask off the
- cmBestMode EQU 2 ; high 14 bits, and then compare with the enum to determine the option value
-
- ; device/media attributes element values
- cmReflective EQU 0 ; 0 is reflective media, 1 is transparency media
- cmGlossy EQU 1 ; 0 is glossy, 1 is matte
-
- ; screen encodings
- cmPrtrDefaultScreens EQU 0 ; Use printer default screens. 0 is false, 1 is ture
- cmLinesPer EQU 1 ; 0 is LinesPerCm, 1 is LinesPerInch
-
- ; 2.0 tag type information
- cmNumHeaderElements EQU 10
-
- ; public tags
- cmAToB0Tag EQU 'A2B0'
- cmAToB1Tag EQU 'A2B1'
- cmAToB2Tag EQU 'A2B2'
- cmBlueColorantTag EQU 'bXYZ'
- cmBlueTRCTag EQU 'bTRC'
- cmBToA0Tag EQU 'B2A0'
- cmBToA1Tag EQU 'B2A1'
- cmBToA2Tag EQU 'B2A2'
- cmCalibrationDateTimeTag EQU 'calt'
- cmCharTargetTag EQU 'targ'
- cmCopyrightTag EQU 'cprt'
- cmDeviceMfgDescTag EQU 'dmnd'
- cmDeviceModelDescTag EQU 'dmdd'
- cmGamutTag EQU 'gamt'
- cmGrayTRCTag EQU 'kTRC'
- cmGreenColorantTag EQU 'gXYZ'
- cmGreenTRCTag EQU 'gTRC'
- cmLuminanceTag EQU 'lumi'
- cmMeasurementTag EQU 'meas'
- cmMediaBlackPointTag EQU 'bkpt'
- cmMediaWhitePointTag EQU 'wtpt'
- cmNamedColorTag EQU 'ncol'
- cmPreview0Tag EQU 'pre0'
- cmPreview1Tag EQU 'pre1'
- cmPreview2Tag EQU 'pre2'
- cmProfileDescriptionTag EQU 'desc'
- cmProfileSequenceDescTag EQU 'pseq'
- cmPS2CRD0Tag EQU 'psd0'
- cmPS2CRD1Tag EQU 'psd1'
- cmPS2CRD2Tag EQU 'psd2'
- cmPS2CRD3Tag EQU 'psd3'
- cmPS2CSATag EQU 'ps2s'
- cmPS2RenderingIntentTag EQU 'ps2i'
- cmRedColorantTag EQU 'rXYZ'
- cmRedTRCTag EQU 'rTRC'
- cmScreeningDescTag EQU 'scrd'
- cmScreeningTag EQU 'scrn'
- cmTechnologyTag EQU 'tech'
- cmUcrBgTag EQU 'bfd '
- cmViewingConditionsDescTag EQU 'vued'
- cmViewingConditionsTag EQU 'view'
-
- ; custom tags
- cmPS2CRDVMSizeTag EQU 'psvm'
-
- ; technology tag descriptions
- cmTechnologyFilmScanner EQU 'fscn'
- cmTechnologyReflectiveScanner EQU 'rscn'
- cmTechnologyInkJetPrinter EQU 'ijet'
- cmTechnologyThermalWaxPrinter EQU 'twax'
- cmTechnologyElectrophotographicPrinter EQU 'epho'
- cmTechnologyElectrostaticPrinter EQU 'esta'
- cmTechnologyDyeSublimationPrinter EQU 'dsub'
- cmTechnologyPhotographicPaperPrinter EQU 'rpho'
- cmTechnologyFilmWriter EQU 'fprn'
- cmTechnologyVideoMonitor EQU 'vidm'
- cmTechnologyVideoCamera EQU 'vidc'
- cmTechnologyProjectionTelevision EQU 'pjtv'
- cmTechnologyCRTDisplay EQU 'CRT '
- cmTechnologyPMDisplay EQU 'PMD '
- cmTechnologyAMDisplay EQU 'AMD '
- cmTechnologyPhotoCD EQU 'KPCD'
- cmTechnologyPhotoImageSetter EQU 'imgs'
- cmTechnologyGravure EQU 'grav'
- cmTechnologyOffsetLithography EQU 'offs'
- cmTechnologySilkscreen EQU 'silk'
- cmTechnologyFlexography EQU 'flex'
-
- ; type signatures
- cmSigCurveType EQU 'curv'
- cmSigDataType EQU 'data'
- cmSigDateTimeType EQU 'dtim'
- cmSigLut16Type EQU 'mft2'
- cmSigLut8Type EQU 'mft1'
- cmSigMeasurementType EQU 'meas'
- cmSigNamedColorType EQU 'ncol'
- cmSigProfileDescriptionType EQU 'desc'
- cmSigScreeningType EQU 'scrn'
- cmSigS15Fixed16Type EQU 'sf32'
- cmSigSignatureType EQU 'sig '
- cmSigTextType EQU 'text'
- cmSigU16Fixed16Type EQU 'uf32'
- cmSigU1Fixed15Type EQU 'uf16'
- cmSigUInt32Type EQU 'ui32'
- cmSigUInt64Type EQU 'ui64'
- cmSigUInt8Type EQU 'ui08'
- cmSigViewingConditionsType EQU 'view'
- cmSigXYZType EQU 'XYZ '
-
- ; Measurement type encodings
- ; Measurement Flare
- cmFlare0 EQU $00000000
- cmFlare100 EQU $00000001
-
- ; Measurement Geometry
- cmGeometryUnknown EQU $00000000
- cmGeometry045or450 EQU $00000001
- cmGeometry0dord0 EQU $00000002
-
- ; Standard Observer
- cmStdobsUnknown EQU $00000000
- cmStdobs1931TwoDegrees EQU $00000001
- cmStdobs1964TenDegrees EQU $00000002
-
- ; Standard Illuminant
- cmIlluminantUnknown EQU $00000000
- cmIlluminantD50 EQU $00000001
- cmIlluminantD65 EQU $00000002
- cmIlluminantD93 EQU $00000003
- cmIlluminantF2 EQU $00000004
- cmIlluminantD55 EQU $00000005
- cmIlluminantA EQU $00000006
- cmIlluminantEquiPower EQU $00000007
- cmIlluminantF8 EQU $00000008
-
- ; Spot Function Value
- cmSpotFunctionUnknown EQU 0
- cmSpotFunctionDefault EQU 1
- cmSpotFunctionRound EQU 2
- cmSpotFunctionDiamond EQU 3
- cmSpotFunctionEllipse EQU 4
- cmSpotFunctionLine EQU 5
- cmSpotFunctionSquare EQU 6
- cmSpotFunctionCross EQU 7
-
- ; Color Space Signatures
- cmXYZData EQU 'XYZ '
- cmLabData EQU 'Lab '
- cmLuvData EQU 'Luv '
- cmYxyData EQU 'Yxy '
- cmRGBData EQU 'RGB '
- cmGrayData EQU 'GRAY'
- cmHSVData EQU 'HSV '
- cmHLSData EQU 'HLS '
- cmCMYKData EQU 'CMYK'
- cmCMYData EQU 'CMY '
- cmMCH5Data EQU 'MCH5'
- cmMCH6Data EQU 'MCH6'
- cmMCH7Data EQU 'MCH7'
- cmMCH8Data EQU 'MCH8'
-
- ; profileClass enumerations
- cmInputClass EQU 'scnr'
- cmDisplayClass EQU 'mntr'
- cmOutputClass EQU 'prtr'
- cmLinkClass EQU 'link'
- cmAbstractClass EQU 'abst'
- cmColorSpaceClass EQU 'spac'
-
- ; platform enumerations
- cmMacintosh EQU 'APPL'
- cmMicrosoft EQU 'MSFT'
- cmSolaris EQU 'SUNW'
- cmSiliconGraphics EQU 'SGI '
- cmTaligent EQU 'TGNT'
-
- ; ColorSync 1.0 elements
- cmCS1ChromTag EQU 'chrm'
- cmCS1TRCTag EQU 'trc '
- cmCS1NameTag EQU 'name'
- cmCS1CustTag EQU 'cust'
-
- ; General element data types
- CMDateTime RECORD 0
- year ds.w 1
- month ds.w 1
- dayOfTheMonth ds.w 1
- hours ds.w 1
- minutes ds.w 1
- seconds ds.w 1
- sizeof EQU *
- ENDR
-
- ; typedef struct CMDateTime CMDateTime
- CMFixedXYZColor RECORD 0
- X ds.l 1
- Y ds.l 1
- Z ds.l 1
- sizeof EQU *
- ENDR
-
- ; typedef struct CMFixedXYZColor CMFixedXYZColor
- ; typedef unsigned short CMXYZComponent
- CMXYZColor RECORD 0
- X ds.w 1
- Y ds.w 1
- Z ds.w 1
- sizeof EQU *
- ENDR
-
- ; typedef struct CMXYZColor CMXYZColor
- CM2Header RECORD 0
- size ds.l 1 ; This is the total size of the Profile
- CMMType ds.l 1 ; CMM signature, Registered with CS2 consortium
- profileVersion ds.l 1 ; Version of CMProfile format
- profileClass ds.l 1 ; input, display, output, devicelink, abstract, or color conversion profile type
- dataColorSpace ds.l 1 ; color space of data
- profileConnectionSpace ds.l 1 ; profile connection color space
- dateTime ds CMDateTime ; date and time of profile creation
- CS2profileSignature ds.l 1 ; 'acsp' constant ColorSync 2.0 file ID
- platform ds.l 1 ; primary profile platform, Registered with CS2 consortium
- flags ds.l 1 ; profile flags
- deviceManufacturer ds.l 1 ; Registered with CS2 consortium
- deviceModel ds.l 1 ; Registered with CS2 consortium
- deviceAttributes ds.l 2 ; Attributes like paper type
- renderingIntent ds.l 1 ; preferred rendering intent of tagged object
- white ds CMFixedXYZColor ; profile illuminant
- reserved ds.b 48 ; reserved for future use
- sizeof EQU *
- ENDR
-
- ; typedef struct CM2Header CM2Header
- CMTagRecord RECORD 0
- tag ds.l 1 ; Registered with CS2 consortium
- elementOffset ds.l 1 ; Relative to start of CMProfile
- elementSize ds.l 1
- sizeof EQU *
- ENDR
-
- ; typedef struct CMTagRecord CMTagRecord
- CMTagElemTable RECORD 0
- count ds.l 1
- tagList ds CMTagRecord ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMTagElemTable CMTagElemTable
- ; External 0x02002001 CMProfile
- CM2Profile RECORD 0
- header ds CM2Header
- tagTable ds CMTagElemTable
- elemData ds.b 1 ; Tagged element storage. Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CM2Profile CM2Profile, **CM2ProfileHandle
- ; Tag Type Definitions
- CMCurveType RECORD 0
- typeDescriptor ds.l 1 ; 'curv'
- reserved ds.l 1 ; fill with 0x00
- countValue ds.l 1 ; number of entries in table that follows
- data ds.w 1 ; Tagged element storage. Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMCurveType CMCurveType
- CMDataType RECORD 0
- typeDescriptor ds.l 1 ; 'data'
- reserved ds.l 1 ; fill with 0x00
- dataFlag ds.l 1 ; 0 = ASCII, 1 = binary
- data ds.b 1 ; Tagged element storage. Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMDataType CMDataType
- CMDateTimeType RECORD 0
- typeDescriptor ds.l 1 ; 'dtim'
- reserved ds.l 1
- dateTime ds CMDateTime
- sizeof EQU *
- ENDR
-
- ; typedef struct CMDateTimeType CMDateTimeType
- CMLut16Type RECORD 0
- typeDescriptor ds.l 1 ; 'mft2'
- reserved ds.l 1 ; fill with 0x00
- inputChannels ds.b 1 ; Number of input channels
- outputChannels ds.b 1 ; Number of output channels
- gridPoints ds.b 1 ; Number of clutTable grid points
- reserved2 ds.b 1 ; fill with 0x00
- matrix ds.l 9 ;
- inputTableEntries ds.w 1 ;
- outputTableEntries ds.w 1 ;
- inputTable ds.w 1 ; Variable size
- CLUT ds.w 1 ; Variable size
- outputTable ds.w 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMLut16Type CMLut16Type
- CMLut8Type RECORD 0
- typeDescriptor ds.l 1 ; 'mft1'
- reserved ds.l 1 ; fill with 0x00
- inputChannels ds.b 1 ;
- outputChannels ds.b 1 ;
- gridPoints ds.b 1 ;
- reserved2 ds.b 1 ; fill with 0x00
- matrix ds.l 9 ;
- inputTable ds.b 256 ; fixed size of 256
- CLUT ds.b 1 ; Variable size
- outputTable ds.b 256 ; fixed size of 256
- sizeof EQU *
- ENDR
-
- ; typedef struct CMLut8Type CMLut8Type
- CMMeasurementType RECORD 0
- typeDescriptor ds.l 1 ; 'meas'
- reserved ds.l 1 ; fill with 0x00
- standardObserver ds.l 1 ; 0 : unknown, 1 : CIE 1931, 2 : CIE 1964
- backingXYZ ds CMFixedXYZColor ; absolute XYZ values of backing
- geometry ds.l 1 ; 0 : unknown, 1 : 0/45 or 45/0, 2 :0/d or d/0
- flare ds.l 1 ; 0 : 0%, 1 : 100% flare
- illuminant ds.l 1 ; standard illuminant
- sizeof EQU *
- ENDR
-
- ; typedef struct CMMeasurementType CMMeasurementType
- CMNamedColorType RECORD 0
- typeDescriptor ds.l 1 ; 'ncol'
- reserved ds.l 1 ; fill with 0x00
- vendorFlag ds.l 1 ;
- count ds.l 1 ; count of named colors in array that follows
- prefixName ds.b 1 ; Variable size, max = 32, to access fields after this one, have to count bytes
- suffixName ds.b 1 ; Variable size, max = 32
- rootName ds.b 1 ; Variable size, max = 32
- colorCoords ds.b 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMNamedColorType CMNamedColorType
- CMTextDescriptionType RECORD 0
- typeDescriptor ds.l 1 ; 'desc'
- reserved ds.l 1 ; fill with 0x00
- ASCIICount ds.l 1 ; the count of "bytes"
- ASCIIName ds.b 2 ; Variable size, to access fields after this one, have to count bytes
- UniCodeCode ds.l 1
- UniCodeCount ds.l 1 ; the count of characters, each character has two bytes
- UniCodeName ds.b 2 ; Variable size
- ScriptCodeCode ds.w 1
- ScriptCodeCount ds.b 1 ; the count of "bytes"
- ScriptCodeName ds.b 2 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMTextDescriptionType CMTextDescriptionType
- CMTextType RECORD 0
- typeDescriptor ds.l 1 ; 'text'
- reserved ds.l 1 ; fill with 0x00
- text ds.b 1 ; count of text is obtained from tag size element
- sizeof EQU *
- ENDR
-
- ; typedef struct CMTextType CMTextType
- CMScreeningType RECORD 0
- typeDescriptor ds.l 1 ; 'scrn'
- reserved ds.l 1 ; fill with 0x00
- screeningFlag ds.l 1 ; bit 0 : use printer default screens, bit 1 : inch/cm
- channelCount ds.l 1
- frequency ds.l 1
- angle ds.l 1
- sportFunction ds.l 1
- sizeof EQU *
- ENDR
-
- ; typedef struct CMScreeningType CMScreeningType
- CMSignatureType RECORD 0
- typeDescriptor ds.l 1 ; 'sig '
- reserved ds.l 1 ; fill with 0x00
- signature ds.l 1
- sizeof EQU *
- ENDR
-
- ; typedef struct CMSignatureType CMSignatureType
- CMS15Fixed16ArrayType RECORD 0
- typeDescriptor ds.l 1 ; 'sf32'
- reserved ds.l 1 ; fill with 0x00
- value ds.l 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMS15Fixed16ArrayType CMS15Fixed16ArrayType
- CMU16Fixed16ArrayType RECORD 0
- typeDescriptor ds.l 1 ; 'uf32'
- reserved ds.l 1 ; fill with 0x00
- value ds.l 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMU16Fixed16ArrayType CMU16Fixed16ArrayType
- CMUInt16ArrayType RECORD 0
- typeDescriptor ds.l 1 ; 'ui16'
- reserved ds.l 1 ; fill with 0x00
- value ds.w 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMUInt16ArrayType CMUInt16ArrayType
- CMUInt32ArrayType RECORD 0
- typeDescriptor ds.l 1 ; 'ui32'
- reserved ds.l 1 ; fill with 0x00
- value ds.l 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMUInt32ArrayType CMUInt32ArrayType
- CMUInt64ArrayType RECORD 0
- typeDescriptor ds.l 1 ; 'ui64'
- reserved ds.l 1 ; fill with 0x00
- value ds.l 1 ; Variable size (x2)
- sizeof EQU *
- ENDR
-
- ; typedef struct CMUInt64ArrayType CMUInt64ArrayType
- CMUInt8ArrayType RECORD 0
- typeDescriptor ds.l 1 ; 'ui08'
- reserved ds.l 1 ; fill with 0x00
- value ds.b 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMUInt8ArrayType CMUInt8ArrayType
- CMViewingConditionsType RECORD 0
- typeDescriptor ds.l 1 ; 'view'
- reserved ds.l 1 ; fill with 0x00
- illuminant ds CMFixedXYZColor ; absolute XYZs of illuminant in cd/m^2
- surround ds CMFixedXYZColor ; absolute XYZs of surround in cd/m^2
- stdIlluminant ds.l 1 ; see definitions of std illuminants
- sizeof EQU *
- ENDR
-
- ; typedef struct CMViewingConditionsType CMViewingConditionsType
- CMXYZType RECORD 0
- typeDescriptor ds.l 1 ; 'XYZ '
- reserved ds.l 1 ; fill with 0x00
- XYZ ds CMFixedXYZColor ; variable size XYZ tristimulus values
- sizeof EQU *
- ENDR
-
- ; typedef struct CMXYZType CMXYZType
- ; Profile sequence description type
- CMProfileSequenceDescType RECORD 0
- typeDescriptor ds.l 1 ; 'pseq '
- reserved ds.l 1 ; fill with 0x00
- count ds.l 1 ; Number of descriptions
- ; * variable size fields to follow, to access them, must count bytes
- deviceMfg ds.l 1 ; Device Manufacturer
- deviceModel ds.l 1 ; Decvice Model
- attributes ds.l 2 ; Device attributes
- technology ds.l 1 ; Technology signature
- mfgDescASCIICount ds.l 1 ; the count of "bytes"
- mfgDescASCIIName ds.b 2 ; Variable size
- mfgDescUniCodeCode ds.l 1
- mfgDescUniCodeCount ds.l 1 ; the count of characters, each character has two bytes
- mfgDescUniCodeName ds.b 2 ; Variable size
- mfgDescScriptCodeCode ds.l 1
- mfgDescScriptCodeCount ds.l 1 ; the count of "bytes"
- mfgDescScriptCodeName ds.b 2 ; Variable size
- modelDescASCIICount ds.l 1 ; the count of "bytes"
- modelDescASCIIName ds.b 2 ; Variable size
- modelDescUniCodeCode ds.l 1
- modelDescUniCodeCount ds.l 1 ; the count of characters, each character has two bytes
- modelDescUniCodeName ds.b 2 ; Variable size
- modelDescScriptCodeCode ds.w 1
- modelDescScriptCodeCount ds.b 1 ; the count of "bytes"
- modelDescScriptCodeName ds.b 2 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMProfileSequenceDescType CMProfileSequenceDescType
- ; Under color removal, black generation type
- CMUcrBgType RECORD 0
- typeDescriptor ds.l 1 ; 'bfd '
- reserved ds.l 1 ; fill with 0x00
- ucrCount ds.l 1 ; Number of UCR entries
- ucrValues ds.w 1 ; variable size
- bgCount ds.l 1 ; Number of BG entries
- bgValues ds.w 1 ; variable size
- ucrbgASCII ds.b 1 ; null terminated ASCII string
- sizeof EQU *
- ENDR
-
- ; typedef struct CMUcrBgType CMUcrBgType
- CMIntentCRDVMSize RECORD 0
- renderingIntent ds.l 1 ; rendering intent
- VMSize ds.l 1 ; VM size taken up by the CRD
- sizeof EQU *
- ENDR
-
- ; typedef struct CMIntentCRDVMSize CMIntentCRDVMSize
- CMPS2CRDVMSizeType RECORD 0
- typeDescriptor ds.l 1 ; 'psvm'
- reserved ds.l 1 ; fill with 0x00
- count ds.l 1 ; number of intent entries
- intentCRD ds CMIntentCRDVMSize ; variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMPS2CRDVMSizeType CMPS2CRDVMSizeType
- ;**********************************************************************
- ;************** ColorSync 1.0 profile specification *******************
- ;**********************************************************************
-
- cmGrayResponse EQU 0
- cmRedResponse EQU 1
- cmGreenResponse EQU 2
- cmBlueResponse EQU 3
- cmCyanResponse EQU 4
- cmMagentaResponse EQU 5
- cmYellowResponse EQU 6
- cmUcrResponse EQU 7
- cmBgResponse EQU 8
- cmOnePlusLastResponse EQU 9
-
- ; Device types
- cmMonitorDevice EQU 'mntr'
- cmScannerDevice EQU 'scnr'
- cmPrinterDevice EQU 'prtr'
-
- CMIString RECORD 0
- theScript ds.w 1
- theString ds.l 16
- sizeof EQU *
- ENDR
-
- ; typedef struct CMIString CMIString
- ; Profile options
-
- cmPerceptualMatch EQU $0000 ; Default. For photographic images
- cmColorimetricMatch EQU $0001 ; Exact matching when possible
- cmSaturationMatch EQU $0002 ; For solid colors
-
- ; Profile flags
- cmNativeMatchingPreferred EQU $00000001 ; Default to native not preferred
- cmTurnOffCache EQU $00000002 ; Default to turn on CMM cache
-
- ; typedef long CMMatchOption
- ; typedef long CMMatchFlag
- CMHeader RECORD 0
- size ds.l 1
- CMMType ds.l 1
- applProfileVersion ds.l 1
- dataType ds.l 1
- deviceType ds.l 1
- deviceManufacturer ds.l 1
- deviceModel ds.l 1
- deviceAttributes ds.l 2
- profileNameOffset ds.l 1
- customDataOffset ds.l 1
- flags ds.l 1
- options ds.l 1
- white ds CMXYZColor
- black ds CMXYZColor
- sizeof EQU *
- ENDR
-
- ; typedef struct CMHeader CMHeader
- CMProfileChromaticities RECORD 0
- red ds CMXYZColor
- green ds CMXYZColor
- blue ds CMXYZColor
- cyan ds CMXYZColor
- magenta ds CMXYZColor
- yellow ds CMXYZColor
- sizeof EQU *
- ENDR
-
- ; typedef struct CMProfileChromaticities CMProfileChromaticities
- CMProfileResponse RECORD 0
- counts ds.w 1
- data ds.w 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMProfileResponse CMProfileResponse
- CMProfile RECORD 0
- header ds CMHeader
- profile ds CMProfileChromaticities
- response ds CMProfileResponse
- profileName ds CMIString
- customData ds.b 1 ; Variable size
- sizeof EQU *
- ENDR
-
- ; typedef struct CMProfile CMProfile, **CMProfileHandle
- IF OLDROUTINENAMES THEN
-
- kCMApplProfileVersion EQU cmCS1ProfileVersion
-
- grayResponse EQU cmGrayResponse
- redResponse EQU cmRedResponse
- greenResponse EQU cmGreenResponse
- blueResponse EQU cmBlueResponse
- cyanResponse EQU cmCyanResponse
- magentaResponse EQU cmMagentaResponse
- yellowResponse EQU cmYellowResponse
- ucrResponse EQU cmUcrResponse
- bgResponse EQU cmBgResponse
- onePlusLastResponse EQU cmOnePlusLastResponse
-
- rgbData EQU cmRGBData
- cmykData EQU cmCMYKData
- grayData EQU cmGrayData
- xyzData EQU cmXYZData
-
- monitorDevice EQU cmMonitorDevice
- scannerDevice EQU cmScannerDevice
- printerDevice EQU cmPrinterDevice
-
- ; typedef unsigned short XYZComponent
- ; typedef struct CMXYZColor XYZColor
- ; typedef unsigned short CMResponseData
- ; typedef struct CMIString IString
- ; typedef long CMResponseColor
- ; typedef CMResponseColor responseColor
- ENDIF
- ENDIF ; __CMICCPROFILE__
-